Hoạt động Conficker

Người ta đã biết đến năm biến thể chính của sâu Conficker và đặt tên cho chúng là Conficker A, B, C, D và E. Chúng lần lượt được phát hiện vào các ngày 21 tháng 11 năm 2008, 29 tháng 12 năm 2008, 20 tháng 2 năm 2009, 4 tháng 3 năm 2009 và 7 tháng 4 năm 2009[21][22].

Biến thểNgày phát hiệnMục tiêu lây nhiễmTruyền cập nhậtTự bảo vệKết thúc hoạt động
Conficker Angày 21 tháng 11 năm 2008
  • NetBIOS
    • Khai thác lỗ hổng MS08-067 trong dịch vụ Server[4]
  • Kéo HTTP
    • Tải về từ trafficconverter.biz
    • Tải về hàng ngày từ một trong 250 tên miền ngẫu nhiên ảo qua hơn 5 đuôi tên miền[23]

Không

  • Tự cập nhật lên Conficker B, C hoặc D
Conficker Bngày 29 tháng 12 năm 2008
  • NetBIOS
    • Khai thác lỗ hổng MS08-067 trong dịch vụ Server[4]
    • Tấn công từ điển vào thư mục chia sẻ ADMIN$[24]
  • Thiết bị tháo lắp được
    • Tạo ra trojan AutoRun DLL trên các thiết bị tháo lắp được[25]
  • Kéo HTTP
    • Tải về hàng ngày từ một trong 250 tên miền ngẫu nhiên ảo qua hơn 8 đuôi tên miền[23]
  • Đẩy NetBIOS
    • Sửa lỗi MS08-067 để mở ra cửa hậu tái lây nhiễm trong dịch vụ Server[26]
  • Khóa tra cứu DNS
  • Tắt AutoUpdate
  • Tự cập nhật lên Conficker C hoặc D
Conficker Cngày 20 tháng 2 năm 2009
  • NetBIOS
    • Khai thác lỗ hổng MS08-067 trong dịch vụ Server[4]
    • Tấn công từ điển vào thư mục chia sẻ ADMIN$[24]
  • Thiết bị tháo lắp được
    • Tạo ra trojan AutoRun DLL trên các thiết bị tháo lắp được[25]
  • Kéo HTTP
    • Tải về hàng ngày từ một trong 250 tên miền ngẫu nhiên ảo qua hơn 8 đuôi tên miền[23]
  • Đẩy NetBIOS
    • Sửa lỗi MS08-067 để mở ra cửa hậu tái lây nhiễm trong dịch vụ Server[26]
    • Tạo ra ống tên để nhận URL từ máy chủ từ xa, sau đó tải nó về từ URL
  • Khóa tra cứu DNS
  • Tắt AutoUpdate
  • Tự cập nhật lên Conficker D
Conficker Dngày 4 tháng 3 năm 2009Không
  • Kéo HTTP
    • Tải về hàng ngày từ 500 trong 50000 tên miền ngẫu nhiên ảo qua hơn 110 đuôi tên miền[23]
  • Kéo/đẩy P2P
    • Sử dụng giao thức điều chỉnh để quét các mạng ngang hàng đã bị nhiễm thông qua UDP, rồi chuyển nó sang TCP[27]
  • Khóa tra cứu DNS[28]
    • Thực hiện một thay đổi trong bộ nhớ tập tin DNSAPI.DLL để khóa tra cứu sang các website liên quan đến chống phần mềm độc hại[28]
  • Tắt Safe Mode[28]
  • Tắt AutoUpdate
  • Tiêu diệt phần mềm chống phần mềm độc hại
    • Quét và tắt các tiến trình có tên của phần mềm chống độc hại, bản vá hoặc tiện ích phân tích chỉ trong một giây[29]

Không

Conficker Engày 7 tháng 4 năm 2009
  • NetBIOS
    • Khai thác lỗ hổng MS08-067 trong dịch vụ Server[30]
  • Đẩy NetBIOS
    • Sửa lỗi MS08-067 để mở ra cửa hậu tái lây nhiễm trong dịch vụ Server
  • Đẩy/kéo P2P
    • Sử dụng giao thức điều chỉnh để quét các mạng ngang hàng đã bị nhiễm thông qua UDP, rồi chuyển nó sang TCP[27]
  • Tắt AutoUpdate
  • Tiêu diệt phần mềm chống phần mềm độc hại
    • Quét và tắt các tiến trình có tên của phần mềm chống độc hại, bản vá hoặc tiện ích phân tích chỉ trong một giây
  • Tải về rồi cài đặt Waledac spambot[30]
  • Tải về rồi cài đặt SpyProtect 2009 scareware[31]
  • Tự xóa bỏ vào ngày 3 tháng 5 năm 2009[32]

Lây nhiễm ban đầu

  • Các biến thể A, B, C và E khai thác lỗ hổng trong Dịch vụ Server của các máy tính chạy Windows, trong đó một máy tính nguồn đã bị nhiễm sẽ gửi yêu cầu được che chắn kỹ thông qua gọi thủ tục từ xa để gây ra tràn bộ đệm và thực thi mã dòng lệnh (shellcode) trên máy tính đích[33]. Trên máy tính nguồn, sâu này chạy một HTTP server trên một cổng nằm trong khoảng 1024 đến 10000; mã dòng lệnh đích sẽ kết nối ngược lại với HTTP server này để tải một bản sao của sâu dưới dạng DLL, rồi sau đó đính nó vào svchost.exe. Các biến thể B trở về sau có thể đính nó vào một tiến trình services.exe hoặc Windows Explorer[4].
  • Biến thể B và C có thể thực thi các bản sao của chúng từ xa thông qua ADMIN$ share trên các máy tính có thể nhìn thấy nhau qua NetBIOS. Nếu thư mục chia sẻ được bảo vệ bằng mật khẩu, chúng sẽ cố gắng thực hiện tấn công vét cạn, có khả năng tạo ra lưu lượng mạng rất lớn và làm thay đổi quy định khóa tài khoản người dùng[34].
  • Biến thể B và C đặt một bản sao ở dạng DLL lên bất kỳ thiết bị tháo lắp được (như ổ USB flash), từ đó chúng có thể lây nhiễm sang các máy chủ mới thông qua cơ chế Windows AutoRun[25].

Để tự kích hoạt khi khởi động hệ thống, sâu này lưu một bản sao ở dạng DLL của nó vào một tập tin ngẫu nhiên trong thư mục hệ thống Windows, sau đó thêm vào các khóa registry để bắt svchost.exe khởi động DLL đó như một dịch vụ mạng ẩn[4].

Truyền nhận dữ liệu qua mạng

Sâu Conficker có một số cơ chế để đẩy hoặc kéo các dữ liệu thực thi được qua mạng. Những dữ liệu này được sâu sử dụng để tự cập nhật lên biến thể mới hơn, và để cài đặt thêm các phần mềm độc hại.

  • Biến thể A tạo ra một danh sách gồm 250 tên miền hàng ngày với năm Tên miền cấp cao nhất (TLD). Tên miền được tạo ra từ một bộ tạo số ngẫu nhiên ảo được lấy mầm từ ngày tháng hiện tại để đảm bảo rằng một bản sao của sâu đều tạo ra cùng một tên cho mỗi ngày. Sau đó sâu sẽ tạo ra một kết nối HTTP đến lần lượt mỗi tên miền, đợi truyền về một lượng dữ liệu đã ký[4].
    • Biến thể B tăng số tên miền cấp cao nhất lên 8, và thay đổi bộ tạo số để tạo ra giao giữa các tên miền do A sinh ra[4]
    • Để chống lại việc sử dụng tên miền ngẫu nhiên ảo của sâu, ICANN và một vài cơ quan đăng ký tiên miền cấp cao nhất đã bắt đầu phối hợp ngăn chặn các cuộc truyền tải và đăng ký đối với các tên miền này[35]. Biến thể D chống lại điều này bằng cách hàng ngày tạo ra một kho gồm 50000 tên miền trên khắp 110 tên miền cấp cao nhất, từ đó nó chọn ngẫu nhiên ra 500 tên để kết nối vào ngày hôm đó. Các tên miền tạo ra cũng được rút ngắn từ 8-11 ký tự còn 4-9 ký tự để khó dò ra bằng heuristic hơn. Cơ chế đẩy mới này (bị tắt cho tới ngày 1 tháng 4)[21][29] dường như không truyền được dữ liệu sang hơn 1% máy chủ bị nhiễm mỗi ngày, mà nó hy vọng đã hoạt động như một cơ chế gieo mầm cho mạng ngang hàng của sâu[23]. Tuy nhiên các tên tạo ra ngắn hơn được cho rằng hàng ngày sẽ va phải từ 150-200 tên miền hiện có, có khả năng gây ra tấn công DDoS trên các site đang giữ tên miền đó[36].
  • Biến thể C tạo ra một ống tên, qua đó nó có thể đẩy URL có chứa dữ liệu có thể tải về sang các máy chủ bị nhiễm khác trên mạng LAN[29].
  • Biến thể B, C và E thực hiện một miếng vá bên trong bộ nhớ vào các DLL có liên quan đến NetBIOS để đóng MS08-067 và theo dõi các nỗ lực tái lây nhiễm thông qua cùng lỗ hổng này. Việc cho phép tái lây nhiễm bởi các phiên bản mới hơn của Conficker đã biến lỗ hổng thành một cửa hậu lây nhiễm một cách hiệu quả[26].
  • Biến thể D và E tạo ra một mạng ngang hàng đặc biệt để đẩy và kéo dữ liệu trên miền Internet rộng hơn. Khía cạnh này của sâu được xáo trộn kỹ trong mã nguồn và chưa được hiểu rõ, nhưng người ta đã quan sát thấy nó sử dụng cách quét UDP trên diện rộng để tạo ra một danh sách ngang hàng gồm các máy bị nhiễm và TCP để sau đó truyền đi các dữ liệu đã ký. Để khiến cho việc phân tích trở nên khó khăn hơn, các cổng kết nối còn bị băm từ địa chỉ IP của mỗi máy ngang hàng[27][29].

Che chắn

Để ngăn không cho dữ liệu bị xâm nhập, dữ liệu của biến thể A được băm MD6, mã hóa RC4 dùng hàm băm 512-bit làm khóa rồi sau đó ký lên hàm băm bằng một khóa RSA 1024-bit. Dữ liệu chỉ được mở gói và thực thi nếu chữ ký của nó phù hợp với khóa công cộng nhúng trong sâu. Biến thể B trở về sau tăng kích thước khóa RSA lên 4096 bit[29].

Tự bảo vệ

Biến thể C của sâu tái tạo các điểm System Restore và tắt một số dịch vụ hệ thống như Windows Automatic Update, Windows Security Center, Windows DefenderWindows Error Reporting[37]. Các tiến trình trùng với một danh sách cho trước gồm các công cụ chống virus, chẩn đoán hay vá hệ thống đều bị theo dõi và tắt hẳn[38]. Nó cũng sử dụng một miếng vá bên trong bộ nhớ cho DLL resolver hệ thống để khóa việc tra cứu tên máy chủ liên quan đến các hãng phần mềm diệt virus và dịch vụ Windows Update[29].

Kết thúc hoạt động

Biến thể E của sâu là biến thể đầu tiên sử dụng căn cứ là các máy tính bị nhiễm Conficker với mục đích kín đáo. Nó tải về và cài đặt hai gói dữ liệu bổ sung:[31]

  • Waledac, một spambot khác nổi tiếng vì lan truyền qua các tập tin đính kèm qua thư điện tử[39]. Waledac hoạt động tương tự như sâu Storm năm 2008 và được tin là có cùng tác giả viết nên[40][41].
  • SpyProtect 2009, một sản phẩm diệt virus scareware.

Tự động phát hiện

Vào ngày 27 tháng 3 năm 2009, nhà nghiên cứu bảo mật Dan Kaminsky đã khám phá ra rằng các máy chủ nhiễm Conficker có một chữ ký có teher tìm ra được khi quét từ xa[42]. Bản cập nhật chữ ký cho một số ứng dụng quét mạng máy tính đã được cung cấp trong đó có NMap[43]Nessus[44].Internet Explorer (vàInternet Explorer (và các trình duyệt khác có hỗ trợ điều khiển Internet Explorer ActiveX và plug-in) các trình duyệt khác có hỗ Internet Explorer (và các trình duyệt khác có hỗ trợ điều khiển Internet Explorer ActiveX và plug-in) trợ điều khiển Internet Explorer ActiveX và plug-in)

Tài liệu tham khảo

WikiPedia: Conficker http://cira.ca/pr-conficker-c http://switch.ch/about/news/2009/conficker.html http://www.bitdefender.com/VIRUS-1000462-en--Win32... http://www.ca.com/securityadvisor/virusinfo/virus.... http://news.cnet.com/8301-1009_3-10163084-83.html?... http://news.cnet.com/8301-1009_3-10206754-83.html?... http://edition.cnn.com/2009/TECH/ptech/01/16/virus... http://www.cnn.com/2009/TECH/ptech/02/13/virus.dow... http://www.computerworld.com/action/article.do?com... http://www.darkreading.com/security/vulnerabilitie...